home *** CD-ROM | disk | FTP | other *** search
- SETTER.TTP, ein Konfigurator
- ****************************
-
-
- Die kleinen ASCII-Textfiles, mit denen viele Programme konfiguriert
- werden, sind mir auf die Nerven gegangen. Sie haben zwar den Vorteil der
- Änderbarkeit mit jedem Texteditor, liegen als Nachteil aber mit im
- Verzeichnis rum und sind trotzdem oft nicht da, wo sie sein sollten.
-
- Deshalb habe ich die Konfigurationsinformationen direkt im Programm
- untergebracht und mit einer kurzen Erklärung versehen. Bei residenten
- Programmen liegen diese Erklärungen natürlich im nichtresidenten Teil
- (kein Problem bei Assemblerprogrammierung). Konfiguriert werden solche
- Programme mit SETTER, das die Informationen und Erklärungen aus dem
- Programm liest und die Konfiguration wieder im Programm speichert.
-
-
- Nutzung
- -------
-
- Entweder man zieht das zu bearbeitende Programm mit der Maus auf
- SETTER.TTP oder tippt Namen (und evtl. Pfad) des Programms per Hand ein.
- SETTER erkennt mit sehr hoher Sicherheit automatisch, ob das Programm
- konfigurierbar ist oder nicht.
-
- Ist es konfigurierbar, so wird jeweils eine Option angezeigt und eine neue
- Angabe dafür erwartet. Alle Eingaben werden mit der Return-Taste
- abgeschlossen. Alles andere sollte sich selbst erklären. Zum Schluß wird
- noch gefragt, ob man die Änderungen wirklich speichern möchte.
-
- Falls Fehler auftreten, hat SETTER einige Meldungen dafür übrig.
-
-
- Copyright
- ---------
-
- SETTER.TTP darf zusammen mit diesem Text frei kopiert werden. Die C-Quelle
- SETTER.C darf nur zusammen mit SETTER.TTP und SETTER.TXT kopiert werden.
-
- Ich hafte natürlich in keinster Weise für irgendwelche Auswirkungen oder
- Nichtwirkungen, die der Einsatz oder Nichteinsatz von SETTER.* hat.
-
- Möglicherweise finden auch andere Programmierer SETTER nützlich, bitte,
- ihr dürft es benutzen. Aber!:
- Wenn jemand eine erweiterte Version von SETTER in Umlauf bringt, muß:
- - diese ebenfalls frei kopierbar sein.
- - diese entsprechend gekennzeichnet sein.
- - er mir eine Nachricht, besser ein Exemplar, kostenlos zukommen lassen.
- Ich kann es nicht ausstehen, wenn jemand meine Spezifikation ändert.
- Erweitern ist erlaubt und erwünscht, aber bitte keine bereits vorhandenen
- Kommandos ändern.
-
- Mein Dank gilt Wolfgang Wander, der diesen meinen C-Programmierversuch
- entfehlert hat. (Sonst hätte ich SETTER nochmal, in Assembler, schreiben
- müssen.)
-
- "Ich" bin: Harun Scheutzow,
- zu erreichen im Internet über
- Harun_Scheutzow@B.maus.de
- bzw. im Mausnetz: Harun Scheutzow @B
-
-
- Versionen
- ---------
-
- SETTER gibt beim Start das Erstellungsdatum als Jahr-Monat-Tag aus, wobei
- neuere Versionen hoffentlich funktionell weiter- und fehlermäßig zurück-
- entwickelt sind.
-
-
-
-
-
- (Der reine Anwender braucht nicht weiter zu lesen.)
- Spezifikation des Speicherns modifizierbarer Informationen in Programmen
- ------------------------------------------------------------------------
-
- Harun Scheutzow, 21.11.1993
-
- Die Modifikation erfolgt durch ein SETTER.TTP, welches das Programm
- bearbeitet, dessen Einsstellungen zu verändern sind.
-
- Im TEXT- oder DATA-Segment befindet sich auf einer geraden Adresse der
- nullterminierte String "hAruNs cONfigER" (inklusive 0-Byte genau 16 Zeichen
- lang) und dahinter ein LONG-Zeiger auf den Anfang des Strings. In
- Assembler:
-
- .even
- hkbg:
- .dc.b "hAruNs cONfigER",0
- .dc.l hkbg
-
-
- Darauf folgen als Liste die einzelnen Objekte, die aus Anzeigetext,
- Art der Konfiguration und Konfigurationsplatz bestehen.
-
- Der Anzeigetext ist ein C-String (also nullterminiert) und auf die nächste
- gerade Adresse evtl. mit einem zusätzlichen 0-Byte aufgefüllt. Ist der
- Anzeigestring leer (nur 0-Byte), so endet hier die Liste der Objekte.
-
- Das Konfigurationskommando ist ein WORD (16Bit) mit folgenden möglichen
- Werten im Highbyte:
-
- 0
- Ja/Nein Entscheidung. Das folgende WORD wird für JA auf $FFFF und für
- NEIN auf $0000 gesetzt.
-
- 1
- LONG-Werteingabe-Liste. Im Lowbyte steht die Anzahl der Listenelemente.
- Die folgenden LONG werden auf die Werte der eingegebenen 32-Bit-Integer
- gesetzt. Die interne ungültig-Kennung für einen Platz ist $80000000.
-
- 2 (!!! noch nicht implementiert !!!)
- String-Eingabe. Im Lowbyte steht die Maximallänge des Eingabestrings
- inklusive des abschließenden Nullbytes. Diese Länge muß gerade sein. Der
- eingegebene String wird unmittelbar hier hinter abgelegt und bis zur
- Maximallänge mit 0-Bytes aufgefüllt.
-
-
-